/** 全局共享变量 */
export const GlobalData = {
  system: '' as string,
  phone: '' as any,
  vote: false as Boolean,
  vip: null as any as DomoVip,
  server: 'prod' as DomoServer,
  /** 微信授权用户信息 */
  userInfo: {} as WechatMiniprogram.UserInfo | null,
  /** 当前登录用户信息 */
  logged: {} as DomoUserLogged | null,
  /** IM登录成功没有 */
  imLogged: false,
  /** OPEN ID */
  openId: '',

  /** 导航条矩阵信息 */
  menuRect: {} as WechatMiniprogram.Rect,
  /** 自定义导航条高度 (px) */
  navigationHeight: 0,
  /** 屏幕设备高度 (px) */
  clientHeihgt: 0,
  /** 屏幕设备宽度 (px) */
  clientWidth: 0,

  /** 功能控制开关 */
  access: {
    /** 是否允许 UGC 内容, 这将影响到 评论框、发布动态等是否展示 */
    ugc: false,
    /** 是否允许 video 播放 */
    video: false,
    /** 是否允许打赏、排行榜等功能 */
    reward: false,
    /** 是否允许引导下载APP功能 */
    download: false,
    /** 安全检测,false为打开, 珊瑚安全已停用 */
    secCheck: false,
  },
  /** 知识配置 */
  knowledge: {
    // 成为作者的条件、对作者的定义，可选:
    // verification 表示认证用户即为作者
    // ability 表示需要具有特定权限的用户为作者
    author: 'verification' || 'ability',
    // 当author=ability时需要检查的权限名称
    ability_name: String,
    // 当author=verification允许的认证类型
    // 多个类型配置在一个数组列表中，允许全部为 null
    allow_v10n_types: String,
    // 知识定价政策，可选：
    // price 仅价格，积分只能设置0
    // score 仅积分，价格只能设置0
    // both  需要同时设置价格和积分
    pricing_policy: String,
    // 如果 pricing_policy=both 则配置积分所占百分比
    score_min_percent: Number,
    // 浮点数，用户下单后平台对金额的抽成比例
    amount_tax_rate: Number,
    // 浮点数，用户下单后平台对积分的抽成比例
    score_tax_rate: Number,
  },
  /** 商城配置 */
  mall: {
    /** 分享后可获取优惠的商品ID 一个或多个配置在一个数组中，null表示全部 */
    share_commodity_ids: [] as number[],
    /** 每个分享抵扣多少分钱(人民币分) */
    share_every_discount: 0,
    all_categories_icon: {
      url: String,
    },
    shopkeeper: 'verification' || 'ability',
    // 成为作者的条件、对作者的定义，可选:
    // verification 表示认证用户即为作者
    // ability 表示需要具有特定权限的用户为作者
    author: String,
    // 当author=ability时需要检查的权限名称
    ability_name: String,
    // 当author=verification允许的认证类型
    // 多个类型配置在一个数组列表中，允许全部为 null
    allow_v10n_types: String,
    // 知识定价政策，可选：
    // price 仅价格，积分只能设置0
    // score 仅积分，价格只能设置0
    // both  需要同时设置积分百分比
    pricing_policy: String,
    // 如果 pricing_policy=both 则配置积分所占百分比
    score_min_percent: Number,
    // 浮点数，用户下单后平台对金额的抽成比例
    amount_tax_rate: Number,
    // 浮点数，用户下单后平台对积分的抽成比例
    score_tax_rate: Number,
    // 订单申请退款退货最大次数
    refund_count: 0 as number,
    // 默认收货时长（单位：天）
    default_confirm_receipt: Number,
    // 退货说明，显示在前端退货页面
    refund_explain: String,
    // 卖家同意退货后买家退货期限
    refund_deliver_time: Number,
    // 买家申请协商处理期限（天）
    refund_negotiate_user_time: Number,
  },

  /** 积分配置 */
  currency: {
    settings: {
      /** 积分/人民币兑换比率 (积分*比率=人民币) */
      'recharge-ratio': 0,
      /**recharge-options 	充值选项，人民币分单位 */
      'recharge-options': '100,500,1000,2000,5000,10000',
      'recharge-max': 10000000,
      'recharge-min': 100,
    },
  },

  /** 任务列表 */
  tasks: [] as DomoTask[],
  /** 可打赏的礼物列表 */
  rewardGiftList: [] as DomoRewardGift[],

  /** 积分单位 */
  currencyName: '',

  /** 邀请信息 */
  invite: {
    /** 是否启用邀请功能 */
    enable: false,

    /** 邀请者在邀请用户注册后可获得的积分数量 */
    inviter_score: 0,

    /** 受邀者注册成功后可获得的积分数量 */
    invitee_score: 0,

    /** 拷贝邀请码时，需要复制到剪贴板的内容 */
    copy_content: '',

    /** APP下载地址，用于生成二维码 */
    app_download_url: 'https://domain/path',

    /** 用于计算邀请码的基数，36进制大写(用户ID+code_base) */
    code_base: 60947423,
  },
  //系统赠送积分
  register_score: 0,
  /** 商家填写物流的信息 */
  shipInfo: {
    /** 退货的Id */
    retId: 0 as string | number,
    /** 订单的Id */
    orderId: 0 as number,
    /** 订单的Id列表 */
    orderIds: [] as Array<string | number>,
    /** 快递公司的Id */
    companyId: Number,
  },
  timer: '' as any,
  /** 缓存的用户圈子 */
  userTopics: {
    expired_at: 0 as number,
    topics: [] as DomoTopic[],
  },
  /** 广告位 */
  advertisingspace: [] as any,
  /** 广告列表 */
  advertisingList: [] as any,
  vipSwitch: true as boolean,
  /** 话题的配置 */
  themeConfig: {} as any,
  /** 用户权限 */
  userAbilities: [],
  /** 钱包 */
  wallet: {
    cash: {
      'min-amount': '',
      status: false, //提现按钮开关
    },
  },
  /** 设备信息的定时器 */
  bootTime: '' as any,
  /** 环信未读消息数 */
  unReadMessageNum: 0 as number,
  /** 环信前缀 */
  imVersion: '' as string,
  /** 环信小助手 */
  imHelper: 0,
  /** 环信是否初始化 */
  hasIM: false as boolean,
  saveFriendList: [] as any,
  saveGroupInvitedList: [] as any,
  isIPX: false,
  /** 是否是全面屏 */
  isFullScreen: false,
  /**
   *  用于处理私有图片判断
         * Ali Oss
         * file-storage: {
         * default-filesystem: "AliyunOSS",
         * acl: "private"
         * }

   */
  fileStorage: {
    fileSystem: '' as string,
    acl: '' as string,
  },
}
